package be.kdg.bombermanunlimited.client.gui;

import java.rmi.RemoteException;

import be.kdg.bombermanunlimited.server.remote.interfaces.ITile;

/*
 * De Abstract tile klasse en zijn children vanop de server 
 * moeten allemaal lokaal bestaan ook, anders gaat bij een lokale wijziging
 * alles op server ineens veranderd worden, maar die moet eerst kijken
 * of er wel mag bewogen worden en dergelijke. Dit zou dus enorm onefficient zijn
 * 
 * bovendien ontstaan er problemen als 2 of meer mensen tegelijk iets willen aanpassen (mutex issues)
 * 
 * Deze klassen zijn dus niet meer dan "kopies" van de serverequivalenten, mits een paar extra variabelen
 * die gebruikt worden om te tekenen
 */


public abstract class GUI_AbstractTile {
	protected boolean isWalkable;
	private String asciiMap;
	private ITile.TileType type;
	private int orientation;

	public static int TILE_WIDTH = 32;
	public static int TILE_HEIGHT = 32;

	public GUI_AbstractTile(ITile tile) {
		try {
			this.isWalkable = tile.isWalkable();
			asciiMap = tile.AsciiMap();
			this.orientation = tile.getOrientation();
			this.type = tile.getType();
		} catch (RemoteException e) {
		}
	}

	public boolean isWalkable() {
		// TODO Auto-generated method stub
		return isWalkable;
	}

	public String AsciiMap() {
		return asciiMap;
	}

	public int getOrientation() {
		// TODO Auto-generated method stub
		return this.orientation;
	}

	public ITile.TileType getType() {
		return this.type;
	}

}
